import request from "@/utils/request"
import { useCookieStore } from "@/stores/cookieStore"

// 获取歌曲评论
export const getSongCommentApi = (data) => {
  const cookie = useCookieStore().cookie.cookie
  return request({
    url: '/comment/music',
    params: {
      cookie,
      id: data.id,
      limit: data.limit,
      offset: data.offset,
      before: data.before,
      timestamp: Date.now()
    }
  })
}

// 获取 mv 评论
export const getMvCommentApi = (data) => {
  const cookie = useCookieStore().cookie.cookie
  return request({
    url: '/comment/mv',
    params: {
      cookie,
      id: data.id,
      limit: data.limit,
      offset: data.offset,
      before: data.before,
      timestamp: Date.now()
    }
  })
}

// 发送评论
// t：1 发送, 2 回复，0 删除
// type： 0: 歌曲、1: mv、2: 歌单、3: 专辑、4: 电台、5: 视频、6: 动态
// id：对应资源 id
// content :要发送的内容
// commentId :回复的评论 id (回复评论时必填)
export const postOrDeleteCommentApi = (data) => {
  const cookie = useCookieStore().cookie.cookie
  return request({
    url: '/comment',
    params: {
      cookie,
      t: data.t,
      type: data.type,
      id: data.id,
      content: data.content,
      commentId: data.commentId,
      timestamp: Date.now()
    }
  })
}

// 楼层评论
// parentCommentId: 楼层评论 id
// id : 资源 id
// type: 数字 , 资源类型。0: 歌曲、1: mv、2: 歌单、3: 专辑、4: 电台节目、5: 视频、6: 动态、7: 电台
// limit: 取出评论数量 , 默认为 20
// time: 分页参数,取上一页最后一项的 time 获取下一页数据
export const getFloorCommentApi = (data) => {
  const cookie = useCookieStore().cookie.cookie
  return request({
    url: '/comment/floor',
    params: {
      cookie,
      parentCommentId: data.parentCommentId,
      id: data.id,
      type: data.type,
      limit: data.limit,
      time: data.time,
      timestamp: Date.now()
    }
  })
}

// 给评论点赞或取消
// id : 资源 id, 如：歌曲 id、mv id
// cid : 评论 id
// t : 是否点赞 , 1 为点赞 ,0 为取消点赞
// type: 数字 , 资源类型；0: 歌曲、1: mv、2: 歌单、3: 专辑、4: 电台节目、5: 视频、6: 动态、7: 电台
export const toCommentPraiseOrCancelApi = (data) => {
  const cookie = useCookieStore().cookie.cookie
  return request({
    url: '/comment/like',
    params: {
      cookie,
      id: data.songId,
      cid: data.cid,
      t: data.t,
      type: data.type,
      timestamp: Date.now()
    }
  })
}
